<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD><TITLE>delete manual page - [incr Tcl]</TITLE>
<link rel="stylesheet" href="../docs.css" type="text/css" media="all">
</HEAD>
<BODY><H2><a href="../contents.htm">Tcl8.6.11/Tk8.6.11 Documentation</a> <small>&gt;</small> <a href="contents.htm">[incr Tcl] Package Commands, version 4.2.1</a> <small>&gt;</small> delete</H2>
<H3><A HREF="../UserCmd/contents.htm">Tcl/Tk Applications</A> | <A HREF="../TclCmd/contents.htm">Tcl Commands</A> | <A HREF="../TkCmd/contents.htm">Tk Commands</A> | <A HREF="../ItclCmd/contents.htm">[incr Tcl] Package Commands</A> | <A HREF="../SqliteCmd/contents.htm">SQLite3 Package Commands</A> | <A HREF="../TdbcCmd/contents.htm">TDBC Package Commands</A> | <A HREF="../TdbcmysqlCmd/contents.htm">tdbc::mysql Package Commands</A> | <A HREF="../TdbcodbcCmd/contents.htm">tdbc::odbc Package Commands</A> | <A HREF="../TdbcpostgresCmd/contents.htm">tdbc::postgres Package Commands</A> | <A HREF="../TdbcsqliteCmd/contents.htm">tdbc::sqlite3 Package Commands</A> | <A HREF="../ThreadCmd/contents.htm">Thread Package Commands</A> | <A HREF="../TclLib/contents.htm">Tcl C API</A> | <A HREF="../TkLib/contents.htm">Tk C API</A> | <A HREF="../ItclLib/contents.htm">[incr Tcl] Package C API</A> | <A HREF="../TdbcLib/contents.htm">TDBC Package C API</A></H3>
<H3><A NAME="M2">NAME</A></H3>
itcl::delete &mdash; delete things in the interpreter
<H3><A NAME="M3">SYNOPSIS</A></H3>
<B><A HREF="../ItclCmd/delete.htm">itcl::delete </A></B><I>option</I> ?<I>arg arg ...</I>?<BR>
<H3><A NAME="M4">DESCRIPTION</A></H3>
The <B>delete</B> command is used to delete things in the interpreter.
It is implemented as an ensemble, so extensions can add their own
options and extend the behavior of this command.  By default, the
<B>delete</B> command handles the destruction of namespaces.
<P>
The <I>option</I> argument determines what action is carried out
by the command.  The legal <I>options</I> (which may be abbreviated)
are:
<P>
<DL class="description">
<DT><A NAME="M5"><B>delete class </B><I>name</I> ?<I>name...</I>?</A><DD>
Deletes one or more <B>[incr&nbsp;Tcl]</B> classes called <I>name</I>.
This deletes all objects in the class, and all derived classes
as well.
<P>
If an error is encountered while destructing an object, it will
prevent the destruction of the class and any remaining objects.
To destroy the entire class without regard for errors, use the
&quot;<B>delete namespace</B>&quot; command.
<P><DT><A NAME="M6"><B>delete object </B><I>name</I> ?<I>name...</I>?</A><DD>
Deletes one or more <B>[incr&nbsp;Tcl]</B> objects called <I>name</I>.
An object is deleted by invoking all destructors in its class
hierarchy, in order from most- to least-specific.  If all destructors
are successful, data associated with the object is deleted and
the <I>name</I> is removed as a command from the interpreter.
<P>
If the access command for an object resides in another namespace,
then its qualified name can be used:
<P>
<PRE>itcl::delete object foo::bar::x</PRE>
<P>If an error is encountered while destructing an object, the
<B>delete</B> command is aborted and the object remains alive.
To destroy an object without regard for errors, use the
&quot;<B><A HREF="../TclCmd/rename.htm">rename</A></B>&quot; command to destroy the object access command.
<P><DT><A NAME="M7"><B>delete namespace </B><I>name</I> ?<I>name...</I>?</A><DD>
Deletes one or more namespaces called <I>name</I>.  This deletes
all commands and variables in the namespace, and deletes all
child namespaces as well.  When a namespace is deleted, it is
automatically removed from the import lists of all other namespaces.

<P></DL>
<H3><A NAME="M8">KEYWORDS</A></H3>
<A href="../Keywords/N.htm#namespace">namespace</A>, <A href="../Keywords/P.htm#proc">proc</A>, <A href="../Keywords/V.htm#variable">variable</A>, <A href="../Keywords/E.htm#ensemble">ensemble</A>
<div class="copy">Copyright &copy; 1993-1998 Lucent Technologies, Inc.
</div>
</BODY></HTML>
